//package cn.nfwx.tv.dao;
//
//import android.content.Context;
//
//import com.j256.ormlite.dao.Dao;
//import com.j256.ormlite.stmt.PreparedQuery;
//import com.j256.ormlite.stmt.QueryBuilder;
//import com.j256.ormlite.stmt.Where;
//import com.j256.ormlite.support.DatabaseConnection;
//
//import java.sql.SQLException;
//import java.util.ArrayList;
//import java.util.List;
//
//import cn.nfwx.tv.helper.DBHelper;
//import cn.nfwx.tv.model.DownProgramModel;
//import cn.nfwx.tv.model.TsProgramModel;
//
//public class TsProgramDao {
//    private Dao<TsProgramModel, Integer> tsProgramDao;
//    private DBHelper dbHelper;
//
//    /**
//     * 构造方法
//     * 获得数据库帮助类实例，通过传入Class对象得到相应的Dao
//     *
//     * @param context
//     */
//    public TsProgramDao(Context context) {
//        try {
//            dbHelper = DBHelper.getHelper(context);
//            tsProgramDao = dbHelper.getDao(TsProgramModel.class);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 添加一条记录
//     *
//     * @param tsProgramModel
//     */
//    public void add(TsProgramModel tsProgramModel) {
//        try {
//            tsProgramDao.create(tsProgramModel);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 删除一条记录
//     *
//     * @param tsProgramModel
//     */
//    public void delete(TsProgramModel tsProgramModel) {
//        try {
//            tsProgramDao.delete(tsProgramModel);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 根据ts查询对应的url
//     *
//     * @return
//     */
//    public List<TsProgramModel> query(String tsUrl) {
//        List<TsProgramModel> list = new ArrayList<>();
//        try {
//            QueryBuilder queryBuilder = tsProgramDao.queryBuilder();
//            Where wheres = queryBuilder.where();
//
//            wheres.eq("tsUrl", tsUrl);
//            PreparedQuery<TsProgramModel> preparedQuery = queryBuilder.prepare();
//
//            DatabaseConnection databaseConnection = null;
//            try {
//
//                databaseConnection = tsProgramDao.startThreadConnection();
//                tsProgramDao.setAutoCommit(databaseConnection, false);
//                list = tsProgramDao.query(preparedQuery);
//                tsProgramDao.commit(databaseConnection);
//                return list;
//            } catch (Exception e) {
//                tsProgramDao.rollBack(databaseConnection);
//                e.printStackTrace();
//            } finally {
//                tsProgramDao.endThreadConnection(databaseConnection);
//            }
//        } catch (Exception e) {
//
//        }
//        return list;
//    }
//
//    /**
//     * 更新一条记录
//     *
//     * @param tsProgramModel
//     */
//    public void update(TsProgramModel tsProgramModel) {
//        try {
//            tsProgramDao.update(tsProgramModel);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 查询一条记录
//     *
//     * @param id
//     * @return
//     */
//    public TsProgramModel queryForId(int id) {
//        TsProgramModel tsProgramModel = null;
//        try {
//            tsProgramModel = tsProgramDao.queryForId(id);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return tsProgramModel;
//    }
//
//    public TsProgramModel getTsWithProgram(int id) {
//        TsProgramModel tsProgramModel = null;
//        try {
//            tsProgramModel = tsProgramDao.queryForId(id);
//            dbHelper.getDao(DownProgramModel.class).refresh(tsProgramModel.getDownProgramModel());
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return tsProgramModel;
//    }
//
//    /**
//     * 查询所有记录
//     *
//     * @return
//     */
//    public List<TsProgramModel> queryForAll() {
//        List<TsProgramModel> tsProgramModels = null;
//        try {
//            tsProgramModels = tsProgramDao.queryForAll();
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return tsProgramModels;
//    }
//
//    /**
//     * 通过programId获取所有的文章
//     *
//     * @param programId
//     * @return
//     */
//    public List<TsProgramModel> listByProgramId(int programId) {
//        try {
//            QueryBuilder<TsProgramModel, Integer> tsBuilder = tsProgramDao
//                    .queryBuilder();
//            QueryBuilder programBuilder = dbHelper.getDao(DownProgramModel.class).queryBuilder();
//            tsBuilder.join(programBuilder);
//            return tsProgramDao.queryBuilder().where().eq("program_id", programId)
//                    .query();
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return null;
//    }
//}
